(function ($, window, document, undefined) { Controls.dataSources.operations = { /*---- #region ' Data Source Operations '---*/ readDs: function (crudServiceBaseUrl, readEntity, readCallback) { return { url: crudServiceBaseUrl + readEntity, type: "GET", contentType: "application/json", dataType: "json", complete: function (data) { if (readCallback) { readCallback(data); } } }; }, createDs: function (crudServiceBaseUrl, saveEntity, successCallback) { return { async: false, url: crudServiceBaseUrl + saveEntity, type: "POST", contentType: "application/json", dataType: "json", complete: function (jqXHR) { if (!successCallback) return; if (jqXHR && (jqXHR.status == 200 || jqXHR.status == 201)) { successCallback(jqXHR); } } }; }, updateDs: function (crudServiceBaseUrl, saveEntity, successCallback) { return { async: false, url: crudServiceBaseUrl + saveEntity, type: "POST", contentType: "application/json", dataType: "json", complete: function (jqXHR) { if (!successCallback) return; if (jqXHR && jqXHR.status == 200) { successCallback(jqXHR); } } }; }, destroyDs: function (crudServiceBaseUrl, destroyEntity, successCallback) { return { async: false, url: crudServiceBaseUrl + destroyEntity, type: "POST", contentType: "application/json", dataType: "json", complete: function (jqXHR) { if (!successCallback) return; if (jqXHR && jqXHR.status == 200) { successCallback(jqXHR); } } }; }, errorDs: function (e) { // kendo.ui.progress($(MyAccount.layouts.mainLayout.element), false); // MyAccount.showErrorNotification(ept.get(e.xhr.responseText.replaceAll('"', ''))); }, convertJsonToModel: function (data, model) { for (var fieldName in model.fields) { if (!data[fieldName]) continue; var field = model.fields[fieldName]; if (field.type === "date") { data[fieldName] = new Date(data[fieldName]); } } return new model(data); }, convertJsonToModelWithDefault: function (data, model) { for (var fieldName in model.fields) { var field = model.fields[fieldName]; if (field.type === "date") { data[fieldName] = new Date(data[fieldName]); } if (data.hasOwnProperty(fieldName) == false) { data[fieldName] = field.defaultValue; } } return new model(data); } }; })(jQuery, window, document);